/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.viators.model;

import com.viators.beans.*;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import java.io.Reader;
import java.util.*;

/**
 *
 * @author Home
 */
public class GestionListaPasajeros {

    public boolean insertarListaPasajeros() {
        boolean flag = false;
        try {
            int id = this.obtenerCodigoLista() + 1;
            String resource = "com/viators/xml/Conexion.xml";
            Reader reader = Resources.getResourceAsReader(resource);
            SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
            Sisma_listapasajerosBean lpb = new Sisma_listapasajerosBean();
            lpb.setNlipa_codigo(id);
            sqlMap.insert("insertarListaPasajeros", lpb);
            flag = true;
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println(e.getMessage());
        } finally {
        }
        return flag;
    }

      public boolean modificarListaPasajeros(Sisma_listapasajerosBean lista) {
        boolean flag = false;
        try {

            String resource = "com/viators/xml/Conexion.xml";
            Reader reader = Resources.getResourceAsReader(resource);
            SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);

            sqlMap.insert("modificarListaPasajeros", lista);
            flag = true;

        } catch (Exception e) {
            e.printStackTrace();
            System.out.println(e.getMessage());
        } finally {
        }
        return flag;
    }

    public List<Sisma_listapasajerosBean> obtenerListaPasajero(int codigo) {
        List<Sisma_listapasajerosBean> listapasajeros = new ArrayList<Sisma_listapasajerosBean>();
        try {
            String resource = "com/viators/xml/Conexion.xml";
            Reader reader = Resources.getResourceAsReader(resource);
            SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
            listapasajeros = (List) sqlMap.queryForObject("getListaPasajeros",codigo);
        } catch (Exception e) {
            System.out.println(e.getMessage());
        } finally {
        }
        return listapasajeros;
    }

    public int obtenerCodigoLista() {
        int codigo = 0;
        try {
            String resource = "com/viators/xml/Conexion.xml";
            Reader reader = Resources.getResourceAsReader(resource);
            SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
            Sisma_listapasajerosBean listapasajeros = (Sisma_listapasajerosBean) sqlMap.queryForObject("getMaxLista", null);
            codigo = listapasajeros.getNlipa_codigo();
        } catch (Exception e) {
            System.out.println(e.getMessage());
        } finally {
        }
        return codigo;
    }

    public List<ListaBean> obtenerListas(int codigo) {

        List<ListaBean> listapasajeros = new ArrayList<ListaBean>();
        try {
            String resource = "com/viators/xml/Conexion.xml";
            Reader reader = Resources.getResourceAsReader(resource);
            SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
            listapasajeros = (List<ListaBean>) sqlMap.queryForList("getListasNro",codigo);
           
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
        }
        return listapasajeros;
    }

     public List<ListaBean> obtenerListarVh(String paisCarromod, String placamod, String paisConmod, String tipoIdmod, String nromod) {
        List<ListaBean> lista = new ArrayList<ListaBean>();
        try {
            String resource = "com/viators/xml/Conexion.xml";
            Reader reader = Resources.getResourceAsReader(resource);
            SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);

            ListaBean parametros = new  ListaBean();
            parametros.setNpais_codigovehiculo( paisCarromod.equals("") ? null : Integer.parseInt(paisCarromod) );
            parametros.setNpais_codigochofer( paisConmod.equals("") ? null : Integer.parseInt(paisConmod));
            parametros.setNtido_codigo(tipoIdmod);
            parametros.setCdope_numero(nromod);            
            parametros.setCvehi_numeroplaca(placamod.toUpperCase());
            lista = sqlMap.queryForList("getListasVehiculo", parametros);
        } catch (Exception ex) {
            ex.printStackTrace();
        } finally {
        }
        return lista;
    }


      public List<ListaNueva> listarPasajerosVehiculo(String paisCarromod, String placamod, String paisConmod, String tipoIdmod, String nromod) {
        List<ListaNueva> pasajeros = new ArrayList<ListaNueva>();
        try {
            String resource = "com/viators/xml/Conexion.xml";
            Reader reader = Resources.getResourceAsReader(resource);
            SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);

            Sisma_vehiculoBean vehiculo = new Sisma_vehiculoBean();
            vehiculo.setNpais_codigo(Integer.parseInt(paisCarromod));
            vehiculo.setCvehi_numeroplaca(placamod);
            // ,  paisConmod,  tipoIdmod,  nromod
            List<ListaNueva> lista = sqlMap.queryForList("getListaTotalPasajerosVehiculo", vehiculo);
            for (int i = 0; i < lista.size(); i++) {
                ListaNueva pasajero = new ListaNueva();
                ListaNueva tv = (ListaNueva) lista.get(i);
                pasajero.setNpers_codigo(tv.getNpers_codigo());
                pasajero.setCtido_descripcion(tv.getCtido_descripcion().toUpperCase());
                pasajero.setCdope_numero(tv.getCdope_numero());
                pasajero.setCpers_nombres(tv.getCpers_nombres().toUpperCase());
                pasajero.setCpers_apepaterno(tv.getCpers_apepaterno().toUpperCase());
                pasajero.setCpers_apematerno(tv.getCpers_apematerno().toUpperCase());
                pasajero.setCesci_descripcion(tv.getCesci_descripcion().toUpperCase());
                pasajero.setCpers_ocupacion(tv.getCpers_ocupacion().toUpperCase());
                pasajeros.add(pasajero);
            }
        } catch (Exception ex) {
            System.out.println("--->" + ex.getMessage());
            ex.printStackTrace();
        } finally {
        }
        return pasajeros;
    }

}
